TypeScript mapped types
あえて日本語にするとしたら「被写像型」らしい
{ [P in K]: T } で表現される型
K, T は適当な型、P は型引数名
P は新たに導入される型変数で、T で使用することができる
K はプロパティ名になれる型(string | number | symbol の部分型)
K というユニオン型の各構成要素 P に対して、P というプロパティが型 T を持つようなオブジェクトの型
code:ts
type Fruit = "apple" | "orange" | "strawberry";
type FruitNumbers = {
P in Fruit: T;
};
const numbers: FruitNumbers = {
apple: 3,
orange: 4,
strawberry: 5,
};
Mapped Typesのあれこれ
TypeScript